本发明公开了一种利用割圆陪集构造准循环LDPC码的构造方法和装置,方法包括:从模(2
1.一种利用割圆陪集构造准循环LDPC码的构造方法,其特征在于,包括:从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="393"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一个本原元;其中,每个割圆陪集的元素作为α幂指数;通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="363"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;由基矩阵H的零空间生成2
m元准循环LDPC码。
2.根据权利要求1所述的方法,其特征在于,所述m=k。
3.根据权利要求1或2所述的方法,其特征在于,所述α乘循环置换矩阵A
i,j通过以下步骤获得:确定当前所述域元素的位置矢量z(α
i);所述位置矢量中的第i个分量z
i=α
i,其余的分量为零;将位置矢量z(α
i)做α乘循环右移2
m-2次;将每次乘循环右移后的矢量依次作为所述α乘循环置换矩阵的第二行至最后一行,将所述域元素的位置矢量z(α
i)作为第一行,得到所述α乘循环置换矩阵A
i,j。
4.一种利用割圆陪集构造准循环LDPC码的构造装置,其特征在于,包括:选择模块,用于从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;共轭陪集模块,用于生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="392"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一本原元;基矩阵模块,用于通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="362"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 置换模块,用于将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;LDPC模块,用于通过矩阵H的零空间生成2
m元准循环LDPC码。
5.根据权利要求4所述的装置,其特征在于,所述置换模块包括:位置矢量模块,用于确定当前所述域元素的位置矢量z(αi);所述位置矢量中的第i个元素zi=αi,其余的元素为零;乘循环模块,用于将位置矢量z(αi)做α乘循环右移2m-2次;矩阵模块,用于将每次乘循环右移后的矢量依次作为所述α乘循环置换矩阵的第二行至最后一行,将所述域元素的位置矢量z(αi)作为第一行,得到所述α乘循环置换矩阵A
i,j;奇偶校验矩阵模块,用于将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H。
技术领域本发明涉及编码领域,特别是指一种利用割圆陪集构造准循环LDPC码的构造方法和装置。
背景技术在通信系统中,LDPC码作为信道的纠错编码被广泛研究。目前LDPC的编码,构造结构性多进制LDPC的方法很多,例如:以Lin的方法构造LDPC码、基于欧式几何构造的EG-LDPC码,这些方法采用先构造一个基矩阵,通过基矩阵构造出LDPC码,其构造过程复杂度高,构造出的码的性能不够优异。
发明内容有鉴于此,本发明在于提供一种利用割圆陪集构造准循环LDPC码的构造方法和装置,以解决上述构造LDPC码的过程复杂,性能不够优异的问题。为解决上述问题,本发明提供一种利用割圆陪集构造准循环LDPC码的构造方法,包括:从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="392"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一个本原元;其中,每个割圆陪集的元素作为α幂指数;通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="364"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;由基矩阵H的零空间生成2
m元准循环LDPC码。本发明的实施例还提供一种利用割圆陪集构造准循环LDPC码的构造装置,包括:选择模块,用于从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;共轭陪集模块,用于生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="393"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一本原元;基矩阵模块,用于通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="362"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 置换模块,用于将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;LDPC模块,用于通过矩阵H的零空间生成2
m元准循环LDPC码。基于本发明的方法或装置获得的LDPC码,与多进制EG-LDPC码相比,性能优于PEG码,在误码率在10
-6之前,割圆陪集码的性能要优于EG-LDPC码,割圆陪集码的性能距离Shannon限大约1.7dB。从复杂度的角度分析,在利用FFT-QSPA进行迭代译码时,在每次迭代过程中,割圆陪集码只需要进行996次的快速傅里叶变换,EG-LDPC码需要做8192次的快速傅里叶变换,复杂度几乎下降了9倍。
附图说明图1为实施例的流程图;图2为实施例中通过模15的割圆陪集生成LDPC码的流程图;图3为16-ary(60,45)的割圆陪集码、16-ary(60,45)的PEG码与64-ary(60,41)的EG-LDPC码的性能比较的示意图;图4为16-ary(60,45)的割圆陪集码的收敛性示意图;图5为装置的结构框图。
具体实施方式为清楚说明本发明中的方案,下面给出优选的实施例并结合附图详细说明。参见图1,实施例的步骤包括:S11:从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;由于存在一个零元素的割圆陪集不能使用,因此选择的割圆陪集的数量范围为2
m-1个。S12:生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="391"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一个本原元;S13:通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="362"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> S14:将W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;S15:通过矩阵H的零空间生成2
m元准循环LDPC码。优选地,在实施例中,m=k。优选地,在实施例中,所述每个域元素用其对应的α乘循环置换矩阵A
i,j通过以下步骤获得:a、生成元素α
i的(2
m-1)维矢量z(α
i);其中,α为GF(2
m)的一本原元,α
i为GF(2
m)中的任一非零元素;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="595"/>其中0≤i≤(2
m-2),矢量中的每个位置的元素为GF(2
m)中的2
m-1个非零元素。如果矢量的第i位z
i=α
i,且其余的位置的元素为0,则z(α
i)称为元素α
i的位置矢量。b、从GF(2
m)的多个非零元素
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="401"/>中,选择任一非零元素δ,将δ的位置矢量z(δ)作为矩阵的第一行,将z(δ)做α乘循环右移2
m-2次,其中每次α乘循环右移是将z(δ)中的每个分量右移一位,最后一位补到第一位,再将每个分量乘以α。将这2
m-2个循环右移得到的矢量依次作为矩阵的第2行至最后一行,与第一行位置矢量z(δ)一起作为矩阵的各行,得到元素δ的(2
m-1)×(2
m-1)的α乘循环置换矩阵A。例如在GF(2
2)上,设α为本原元,对于GF(2
2)上的一个非零元素α
2,其位置矢量z(α
2)=(0,0,α
2)。将z(α
2)做2
2-2次α乘循环右移,得到的(2
2-1)×(2
2-1)的α乘循环置换矩阵为:
0 0 α 2 α 0 0 0 0 α 1 0 ]]> 方阵A,称为元素δ的α乘循环置换矩阵,而α乘循环置换矩阵组成的阵列具有准循环特性。通过上述过程,可获得基矩阵W中的每个域元素与其对应的α乘循环置换矩阵A
i,j。下面通过具体的参数说明上述实施例:S21:确定模15的割圆陪集。m=4C
0={0},C
1={1,2,4,8},C
3={3,6,12,9},C
5={5,10},C
7={7,14,13,11}.S22:确定与其对应的共轭陪集。M
0={α
0},M
1={α
1,α
2,α
4,α
8},M
3={α
3,α
6,α
12,α
9},M
5={α
5,α
10},M
7={α
7,a
14,α
13,α
11}.S23:构造基矩阵W。选取具有相同元素个数的陪集M1,M3和M7作为矩阵的行,得到一个基矩阵W。
W = M 1 M 3 M 7 = α 1 α 2 α 4 α 8 α 3 α 6 α 12 α 9 α 7 α 14 α 13 α 11 ]]> S24:构造奇偶校验矩阵H。将W中的每个域元素用其对应的15×15的α乘循环置换矩阵来替换,得到一个基于GF(16)的大小为45×60,行重为4,列重为3的奇偶校验矩阵H。S25:由矩阵H的零空间得到一个码长为60的割圆陪集码。该校验矩阵H的密度为0.0044,生成的多进制准循环LDPC码的码率为0.75,记为(60,45)的割圆陪集码。该码字在加性高斯白噪声(Additivexa0Whitexa0Gaussxa0Noisy,AWGN)信道传输,进行BPSK调制,利用傅里叶变换和积译码算法(fast-Fourier-transformxa0sum-productxa0algorithm,FFT-QSPA)进行迭代50次译码,误码率(bitxa0errorxa0rate,BER)如图3所示。构造一个参数与(60,45)的割圆陪集码参数均相同的PEG码与其进行比较。此外,构造一个结构性的多进制LDPC码,如多进制EG-LDPC或者PG-LDPC码进行比较。但是由于不同的构造方法很难构造码长,码率,域的大小都相同的多进制LDPC码,因此,在比较的时候选择各个参数相近的码字。基于欧氏几何EG(2,2
3)构造一个(60,41)的多进制EG-LDPC码,其列重为4,行重为8,校验矩阵的密度为0.013。将(60,45)的割圆陪集码与(60,45)的PEG码,码长相同,码率略低,域的尺寸要大的(60,41)的EG-LDPC码来进行比较。从图3中示出了割圆陪集码的性能要远优于PEG码的性能,当BER在10
-6到10
-7之间时,割圆陪集码的性能优于PEG码大约1.3dB。虽然EG-LDPC码的曲线比割圆陪集码的曲线更加陡峭,但是误码率在10
-6之前,割圆陪集码的性能要优于EG-LDPC码,并且构造EG-LDPC码域的尺寸为64,要远大于构造割圆陪集码的域的尺寸16。同时,在仿真性能图中示出了当BER为10
-6时,割圆陪集码的性能距离Shannon限大约1.7dB。从复杂度的角度分析,在利用FFT-QSPA进行迭代译码时,在每次迭代过程中,割圆陪集码只需要进行996次的快速傅里叶变换,EG-LDPC码需要做8192次的快速傅里叶变换,复杂度几乎是割圆陪集码的9倍。图4给出了该割圆陪集码的收敛速度,当误比特率为10-6时,10次迭代和50次迭代曲线之间相差不到0.2dB,由此可以得出割圆陪集码的收敛速度是非常快的。本发明还提供一种生成LDPC码的装置,参见图5,包括:选择模块,用于从模(2
m-1)的多个割圆陪集中选择出元素数量相同的r个割圆陪集C
i={i,2i,4i,...,2
k-1i};其中,m为k的整倍数;m、r、i为正整数;共轭陪集模块,用于生成r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="392"/>其中,每个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="570"/>其中1≤l≤r,α为伽罗华域GF(2
m)的一本原元;基矩阵模块,用于通过所述r个共轭陪集
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="362"/>生成基矩阵W;
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 置换模块,用于将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="690"/>其中0≤i≤k-1,0≤j≤r-1;LDPC模块,用于通过矩阵H的零空间生成2
m元准循环LDPC码。优选地,所述置换模块包括:位置矢量模块,用于确定当前所述域元素的位置矢量z(αi);所述位置矢量中的第i个元素zi=αi,其余的元素为零;乘循环模块,用于将位置矢量z(αi)做α乘循环右移2m-2次;矩阵模块,用于将每次乘循环右移后的矢量依次作为所述α乘循环置换矩阵的第二行至最后一行,将所述域元素的位置矢量z(αi)作为第一行,得到所述α乘循环置换矩阵A
i,j;奇偶校验矩阵模块,用于将基矩阵W中的每个域元素用其对应的α乘循环置换矩阵A
i,j来代替,生成奇偶校验矩阵H。对于本发明各个实施例中所阐述的方法和装置,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。